Prior to setting forth the background of the invention, it may be helpful to set forth definitions of certain terms that will be used hereinafter.
The term “sensing device” (sometimes referred to as “camera” in computer vision) as used herein is broadly defined as any combination of one or more sensors of any type, not necessarily optical (and may include radar, ultra sound and the like). Additionally, the sensing device is configured to capture an image of a scene and derive or obtain some three-dimensional data of a scene. An exemplary sensing device may include a pair of cameras which are configured to capture passive stereo which may be used to derive depth data by comparing the images taken from different locations. Another example for a sensing device may include a structured light sensor which is configured to receive and analyze reflections of a predefined light pattern that has been projected onto the scene. Yet another important example is a 2D sensing device that captures a plurality of 2D images of the scene and further provides relative spatial data for the relationship between each 2D captured image. It should be noted that for the purposes of the present application, all dimensions in the scene can be relative (e.g., it is sufficient to have relative movement, as long as the proportion is given or derivable from the camera).
The term “reflective surface” as used herein is defined to be surface that changes the direction of a wavefront (e.g., of light or sound) at an interface between two different media so that the wavefront returns into the medium from which it originated. Specular reflection is the mirror-like reflection of light (or of other kinds of wave) from a surface, in which light from a single incoming direction (a ray) is reflected into a single outgoing direction. Such behavior is described by the law of reflection, which states that the direction of incoming light (the incident ray), and the direction of outgoing light reflected (the reflected ray) make the same angle with respect to the surface normal, thus the angle of incidence equals the angle of reflection and that the incident, normal, and reflected directions are coplanar. A partially reflective surface can be referred to any of the two types: Type one—not all the surface is reflective. Type two—level of specular reflection can be varied and a level beyond an agreeable threshold can be regarded as “reflective”.
One of the challenges of computer vision is to detect the presence of, and obtain knowledge about, reflective surfaces in a scene. In specular reflections, and specifically where mirrors are involved, there is a risk that a computer-based analysis of a scene will mistakenly assume that an image captured in a reflection is a real object.
It would be advantageous to suggest some logic or a flow that will enable a computerized vision system to distinguish between real objects and their respective images, to be able to automatically detect reflective surfaces in a captured scene, and more specifically, to generate a spatial representation of the reflective surface.